Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Upgrading from
0.26.3
to0.44.11
- Changelog0.44.11
fix:
Several improvements to the conjure importer.0.44.10
fix:
API update now supports consuming the API origin from spec V2 configurations.0.44.9
feat:
The fern definition now supports descriptions supplied on request and response bodies.You can enable this by simply supplying
docs
in your fern definition, ordescription
in your OpenAPI spec.
0.44.8
fix:
API Configuration V2 schema now takes inorigin
as well, allowingfern api update
to function as expected in the new config.0.44.7
internal:
The Fern CLI commandfern generator list
now accepts filters for the output mode, for example, you may now specifyfern generator list --excluded-modes local-file-system
in order to filter any generators from the list that are outputting locally.
200 additional updates, see more
0.44.6
fix:
The Fern Definition respects endpoint level base-path overrides when validating examples.0.44.5
feat:
The Fern Definition now supports overridingbase-path
at the endpoint level.This is useful if you have subset of endpoints that do not live at the
configured base-path.
0.44.4
fix:
Fern's OpenAPI importer will now handle generating examples for declarederrors so that they show up in the generated documentation.
0.44.3
feat:
Fern's OpenAPI importer can now handlereadOnly
properties in the top levelrequest schema. Note that Fern does not handle nested
readOnly
propertiesjust yet; please file a GitHub issue if this is important!
0.44.2
fix:
Fern's OpenAPI importer can now handle multiple error schemas for thesame status code.
0.44.1
feat:
The OpenAPI importer used to try and coerce all enums into a literals.In some cases this is not desirable, so we now expose an option called
coerce-enums-to-literals
in your generators.yml.0.44.0-rc0
feat:
The Fern CLI now supports parsing Conjure, Palantir'shome-grown API Definition format.
If you know a company that is using Conjure that wants API Docs + SDKs, send them our way!
0.43.8
fix:
Any markdown files that have custom components are also pushed up to the Fern Docsplatform.
0.43.7
fix:
Thevalid-markdown
rule has been updated to try and parse the markdown file into avalid AST. If the file fails to parse,
fern check
will log an error as wellas the path to the markdown.
0.43.6
fix:
The OpenAPI importer now appropriately brings in responses that are under thetext/event-stream
Content-Type if your endpoint is annotated with
x-fern-streaming
.If your endpoint is not annotated with
x-fern-streaming
, then the response will be ignored.0.43.5
fix:
If you use thex-fern-streaming
extension and want to provide different descriptionsfor the streaming endpoint, then you can now specify
streaming-description
.0.43.4
fix:
The OpenAPI parser now respects the content type in your OpenAPI spec, instead of always sendingapplication/json
. With this upgrade, your SDKs will also start to send the correct content type.0.43.3
chore:
The CLI now passes in the API definition ID once again, this is necessary so that generated snippet templatesmay reference schemas within the API. This was a regression that was recently introduced.
0.43.2
fix:
The CLI now prints which API cannot be registered iffern generate --docs
fails.0.43.1
feat:
The CLI now supports running OpenAPI generator 0.1.0 with IR version 53.0.43.0
feat:
The CLI now recognizes the fern-php-sdk generator.0.42.15
internal:
The documentation resolver now approrpiately creates a unique identifier for changelog sections. Previously, if you had multiplechangelogs within the same section, despite their title and slug being different, they would be treated as the same section since the ID
only took into account the parents' slug, appended the word "changelog" and that was all.
As a result previously all changelogs within the same section would get highlighted when one was selected, now only the selected changelog
is highlighted.
0.42.14
fix:
The OpenAPI importer now correctly propagates the title field ononeof
schemas.0.42.13
fix:
Example generation now intelligently truncates container examples, for example if the depth limit will be reached on a list of objects,the list will be returned as an empty list, as opposed the previous behavior where an unknown object would be created.
0.42.12
fix:
Previously, deploying docs from Windows machines led to bad asset paths.Now, the CLI respects Windows paths during run and web paths for retrieving
assets.
0.42.11
fix:
The API V2 configuration now supports disabling using titles as schemanames. You may want to disable this flag if your OpenAPI adds the same
title to multiple schemas.
0.42.10
fix:
Previously, the OpenAPI converter would bring overtitle
on everysingle property. This field is extraneous, so now we ignore it.
0.42.9
fix:
Previously, the OpenAPI importer would ignore skip parsing arbitrarycontent types "/". Now it treats this content type as application/json.
0.42.8
fix:
The API V2 configuration (in beta) now supports global header overrides.This fixes a bug where those header overrides were getting dropped in
certain cases.
0.42.7
feat:
The API V2 configuration (in beta) now supports global headeroverrides. To specify global headers that are not in your
OpenAPI spec, simply add the following block in your
generators.yml
:0.42.6
fix:
Removes extraneous conditional error within namespacing configuration0.42.5
feat:
Adds additional metadata retrievable byfern generator get
so you can now get the langauage and the target repo.0.42.4
fix:
Namespaced APIs now:x-fern-sdk-group-name
annotation for endpoints0.42.3
fix:
The OpenAPI importer now supports handling encoding on multipart requests.Previously, the generators would not respect the
contentType
field foreach form input. But, now they do.
fix:
The OpenAPI importer now correctly parses descriptions of multipartform requests. Previously these descriptions would be ignored.
For example, previously the description
The file to upload
would beignored in the example below.
0.42.2
fix:
Error bodies are now appropriately namespaced as well!0.42.1
fix:
Make sure to check for optionality when parsing stdout and stderr in CLI. Thisremoves the error:
Cannot read properties of undefined (reading 'includes')
.0.42.0
fix:
If you merge multiple OpenAPI specs with namespaces,fern check
will no longercomplain about duplicate schema names across namespaces.
In the example below, both OpenAPI specs can have duplicative schema names and
that is okay.
0.42.0-rc0
feat:
The Fern Definition now supportsconten-type
on multipart request properties.For example, to specify an
application/octet-stream
andapplication/json
contnet types, use the snippet below:
0.41.16
fix:
Previously the OpenAPI converter would incorrectly markthe values of
additionalProperties
as optional. Now, we haveintroduced a feature flag to turn this behavior off.
The feature flag can be configured in generators.yml:
0.41.15
internal:
Performance improvements for stringifiying large Intermediate Representations. Ifyou have a large OpenAPI spec or Fern Definition, this can potentially shave off
minutes from
fern generate
.0.41.14-rc2
internal:
Remove bang operator and fix eslint warning incompatible-ir-versions.ts
.0.41.14-rc1
feat:
Runningfern check
will now check to confirm that the generator versions you are running are compatible with your Fern CLI version.Each version of SDK generators depends on a version of a libary that is exported by the Fern CLI, and as a result, each generator has a minimum
compatible version of the Fern CLI. As an example, if you were to run
fern check
while leveragingfernapi/fern-python-sdk
version2.0.0
, on CLI version0.1.3
, you'd receive the following error:The generator fernapi/fern-python-sdk requires CLI version 0.23.0-rc4 or later (current version: 0.1.3-rc0).
Indicating that you must upgrade your CLI in order to leverage the current generator.
0.41.14-rc0
fix:
The Fern CLI now safely handles a npx file exists error by retrying the command on failure.This error typically happens when two or more instances of the Fern CLI are running
npx
at the same time.
0.41.13
fix:
fern generate --local
no longer crashes on large API Definitions because westream the JSON to file instead of calling
JSON.stringify
. See PR 4640.0.41.12
feat:
Adds availability to inlined properties for HTTP Requests, Webhooks, and WebSockets for Fern Definition and OpenAPI.You can add availability like so:
Fern Definition:
OpenAPI:
0.41.11
feat:
Adds availability and display-names to discriminated union values. Now, in your docs, you can mark your union valueswith custom names and show their availability. You can do so by adding the following to your API definition:
0.41.10
feat:
Adds availability and display-names to discriminated union values. Now, in your docs, you can mark your union valueswith custom names and show their availability. You can do so by adding the following to your API definition:
0.41.9
internal:
Adds abundle-path
hidden parameter forfern docs dev
for use withfern-platform
testing. You can pass thepath on the command line as an optional parameter.
0.41.8
feat:
The Fern generators.yml configuration now supports a new format for namespacing APIs for additional flexibility:Through namespacing your API, you can have multiple objects and endpoints with the same name across different namespaces. You can think of them
as the equivalent to Python modules or TypeScript packages.
0.41.7
fix:
Previously we weren't always awaiting PostHog API calls directly. Now the CLIawaits these calls so that we can ensure that events are sent.
0.41.6
feat:
The Fern Docs CLI now supports OAuth 2.0 Client Credentials injection in API playgrounds.To enable this feature, you can define the OAuth Authorization Scheme in your API configuration,
and enable the feature in your docs configuration.
API configuration:
More Information
Docs configuration:
More Information
0.41.5
fix:
Fix an issue with non-deterministic file ordering when OpenAPI is used as input.0.41.4
feat:
The Fern OpenAPI importer now handles importing an array for thetype
key.0.41.3
feat:
Allow referencing by method and path. For example, when configuring anoauth scheme you can now do:
0.41.2
fix:
Fixes an issue introduced in0.41.1
that ignored server urls for docs generation.feat:
Adds aauth-schemes
andauth
block where you can override auth for an existing spec.See below:
0.41.1
feat:
Adds a V2 configuration for theapi
block that is more flexible and allowsOpenAPI users to consume Fern Definition features.
For example, now you can override environments directly in the api configuration:
If you want to define, multi-url environments, those can be done by configuring the following generators.yml:
Note that you will need to use the
x-fern-server-name
annotation on each endpoint to assign it to a relevant server. For example,0.41.0
feat:
Adds generic object declarations to the fern definition. Now we can define generics anduse them in alias declarations to minimize code duplication:
More information can be found here: https://buildwithfern.com/learn/api-definition/fern/types#generics.
0.41.0-rc1
fix:
Fix an issue where some postman environment variables (e.g. API key) were not substitutedwhen running fern generate.
0.41.0-rc0
break:
Every fern folder that is using OpenAPI must configure an explicit location to theOpenAPI spec. The location can be configured in your
generators.yml
:If you run fern upgrade, the CLI will automatically run a migration for you to
ensure that you are compliant!
0.40.4
fix:
fern check
allows the service base-path to be a slash. For example, the followingwould be valid:
0.40.3
fix:
Nowfern generator upgrade
respects the--group
flag and only upgrades generators within a particular group.0.40.2
internal:
Release IR v53.9.0 which includes a publishing configuration.0.40.1
feat:
Enable specifying whether redirect in docs.yml is permanent or temporary.0.40.0
feat:
Update thefern generator upgrade
command to leverage the Generator registry API as opposed to Docker and dockerode.0.39.19
fix:
The OpenAPI importer now appropriately generates examples for circularoneOf
schemas.0.39.18
fix:
Produce IR v53.8.0 with raw datetime examples.0.39.17
fix:
object declarations with extends and no properties now has examples propagating in the Docs and SDKs0.39.16
chore:
Support running 0.2.x versions of the Postman Generator with IR V53 or above.0.39.15
internal:
Introducegenerator list
andorganization
commands to faciliate actions taken byfern-bot
0.39.14
fix:
Format validation is enforced ondate
fields that are specified in examples specified in an api defintion.0.39.13
fix:
Generated examples in the Intermediate Representation not respect root level path parameter examples.0.39.12
fix:
The mock folder now includes source files, and the CLI no longer hard fails if it cannot resolve source files that are of OpenAPI type.0.39.11
fix:
The Fern CLI now handles parsingx-fern-parameter-name
on path parameters in an OpenAPI spec.0.39.10
chore:
Release 0.39.100.39.9
chore:
Release 0.39.90.39.7
chore:
## What's ChangedFull Changelog: fern-api/fern@0.39.6...0.39.7
0.39.6
chore:
## What's ChangedFull Changelog: fern-api/fern@0.39.5...0.39.6
0.39.5
chore:
## What's ChangedFull Changelog: fern-api/fern@0.39.4...0.39.5
0.39.4
chore:
## What's ChangedFull Changelog: fern-api/fern@0.39.3...0.39.4
0.39.3
chore:
## What's ChangedFull Changelog: fern-api/fern@0.39.2...0.39.3
0.39.2
chore:
## What's Changed.dict
speed by limiting dict calls by @armandobelardo in improvement: improve.dict
speed by limiting dict calls fern-api/fern#4302New Contributors
Full Changelog: fern-api/fern@0.39.1...0.39.2
0.39.1
chore:
## What's ChangedFull Changelog: fern-api/fern@0.38.1...0.39.1
0.38.1
chore:
## What's Changedapi.yml
and environment audiences by @dsinghvi in (feat, docs): add docs onapi.yml
and environment audiences fern-api/fern#4292Full Changelog: fern-api/fern@0.38.0...0.38.1
0.38.0
chore:
## What's ChangedFull Changelog: fern-api/fern@0.38.0-rc1...0.38.0
0.38.0-rc1
chore:
## What's ChangedhasNextPage
property for offset pagination by @dsinghvi in (feat, typescript): supporthasNextPage
property for offset pagination fern-api/fern#4288Full Changelog: fern-api/fern@0.38.0-rc0...0.38.0-rc1
0.38.0-rc0
chore:
## What's Changedhas-next-page
property to IR by @dsinghvi in (feat, cli): addhas-next-page
property to IR fern-api/fern#4241fern check
by @dsinghvi in (feat): refactor how pagination properties are checked infern check
fern-api/fern#4250internal
+ client classespartial
by @dcb6 in c#, improvements: small improvements including marking filesinternal
+ client classespartial
fern-api/fern#4248FluentAssertions
in unit tests by @dcb6 in c#, improvement: UseFluentAssertions
in unit tests fern-api/fern#4254pnpm
migration by @dsinghvi in (internal):pnpm
migration fern-api/fern#4261shape
toExampleQueryParameter
by @dcb6 in ir: addshape
toExampleQueryParameter
fern-api/fern#4222Full Changelog: fern-api/fern@0.37.16...0.38.0-rc0
0.37.16
chore:
## What's ChangedNew Contributors
Full Changelog: fern-api/fern@0.37.15...0.37.16
0.37.15
chore:
## What's Changed.proto
inputs by @amckinney in (feature): Add support for.proto
inputs fern-api/fern#4223Full Changelog: fern-api/fern@0.37.14...0.37.15
0.37.14
chore:
## What's Changed<package>/<version>
by @dsinghvi in (feat, typescript): send user agent header<package>/<version>
fern-api/fern#4234Full Changelog: fern-api/fern@0.37.13...0.37.14
0.37.14-rc0
chore:
## What's ChangedFull Changelog: fern-api/fern@0.37.13...0.37.14-rc0
0.37.13
chore:
## What's ChangedFull Changelog: fern-api/fern@0.37.12...0.37.13
0.37.12
chore:
## What's ChangedFull Changelog: fern-api/fern@0.37.11...0.37.12
0.37.11
chore:
## What's ChangedNew Contributors
Full Changelog: fern-api/fern@0.37.10...0.37.11
0.37.10
chore:
## What's ChangedFull Changelog: fern-api/fern@0.37.9...0.37.10
0.37.9
chore:
## What's ChangedFull Changelog: fern-api/fern@0.37.8...0.37.9
0.37.8
chore:
## What's ChangedFull Changelog: fern-api/fern@0.37.7...0.37.8
0.37.7
chore:
## What's Changedurl
field of auto-generatedEndpointExampleCall
s by @dcb6 in fix, ir-generation: put fully substituted path inurl
field of auto-generatedEndpointExampleCall
s fern-api/fern#4211Full Changelog: fern-api/fern@0.37.6...0.37.7
0.37.6
chore:
## What's ChangednoScripts
into a PersistedProject and introduce a test by @dsinghvi in (fix, typescript): wirenoScripts
into a PersistedProject and introduce a test fern-api/fern#4185Full Changelog: fern-api/fern@0.37.5...0.37.6
0.37.5
chore:
## What's ChangedFull Changelog: fern-api/fern@0.37.4...0.37.5
0.37.4
chore:
## What's ChangedFull Changelog: fern-api/fern@0.37.3...0.37.4
0.37.3
chore:
## What's ChangedFull Changelog: fern-api/fern@0.37.2...0.37.3
0.37.2
chore:
## What's ChangedFull Changelog: fern-api/fern@0.37.1...0.37.2
0.37.1
chore:
## What's ChangedFull Changelog: fern-api/fern@0.37.0...0.37.1
0.37.0
chore:
## What's Changedset
instead ofinit
field accessors in types by @dcb6 in c#, improvement:set
instead ofinit
field accessors in types fern-api/fern#4151map<string, unknown>
values are nullable by @amckinney in (fix, csharp): map<string, unknown> values are nullable fern-api/fern#4153Full Changelog: fern-api/fern@0.36.0...0.37.0
0.36.0
chore:
## What's ChangedRawClient
constructor parameters by @dcb6 in c#, improvement: Add header suppliers toRawClient
constructor parameters fern-api/fern#4119Full Changelog: fern-api/fern@0.35.0...0.36.0
0.36.0-rc1
chore:
## What's ChangedFull Changelog: fern-api/fern@0.36.0-rc0...0.36.0-rc1
0.36.0-rc0
chore:
## What's ChangedRawClient
constructor parameters by @dcb6 in c#, improvement: Add header suppliers toRawClient
constructor parameters fern-api/fern#4119Full Changelog: fern-api/fern@0.35.0...0.36.0-rc0
0.35.0
chore:
## What's Changeddefault-url
and url override on imports by @dsinghvi in (feat): supportdefault-url
and url override on imports fern-api/fern#4116Full Changelog: fern-api/fern@0.34.0...0.35.0
0.35.0-rc0
chore:
## What's Changeddefault-url
and url override on imports by @dsinghvi in (feat): supportdefault-url
and url override on imports fern-api/fern#4116Full Changelog: fern-api/fern@0.34.0...0.35.0-rc0
0.34.0
chore:
## What's Changedexpected_types
to tuple to satisfy mypy by @armandobelardo in fix: update typing ofexpected_types
to tuple to satisfy mypy fern-api/fern#4100zurg
unit tests to the generated SDK by @williamluer in (feat, typescript): copy overzurg
unit tests to the generated SDK fern-api/fern#4045auth
andfetcher
utilities by @dsinghvi in (feat, typescript): generate tests forauth
andfetcher
utilities fern-api/fern#4115Full Changelog: fern-api/fern@0.33.5...0.34.0
0.33.6-rc0
chore:
## What's Changedexpected_types
to tuple to satisfy mypy by @armandobelardo in fix: update typing ofexpected_types
to tuple to satisfy mypy fern-api/fern#4100Full Changelog: fern-api/fern@0.33.5...0.33.6-rc0
0.33.5
chore:
## What's ChangedFull Changelog: fern-api/fern@0.33.4...0.33.5
0.33.4
chore:
## What's ChangedFull Changelog: fern-api/fern@0.33.3...0.33.4
0.33.3
chore:
## What's Changedjest-specific-snapshot
by @dsinghvi in (fix): removejest-specific-snapshot
fern-api/fern#4088Full Changelog: fern-api/fern@0.33.2...0.33.3
0.33.2
chore:
## What's Changedfs.CreateReadStream
on Node 19+ form data uploads by @dsinghvi in (feat): supportfs.CreateReadStream
on Node 19+ form data uploads fern-api/fern#4073Full Changelog: fern-api/fern@0.33.1...0.33.2
0.33.2-rc0
chore:
## What's Changedfs.CreateReadStream
on Node 19+ form data uploads by @dsinghvi in (feat): supportfs.CreateReadStream
on Node 19+ form data uploads fern-api/fern#4073Full Changelog: fern-api/fern@0.33.1...0.33.2-rc0
0.33.1
chore:
## What's ChangedFull Changelog: fern-api/fern@0.33.0...0.33.1
0.33.0
chore:
## What's Changedir
now adds aTypeReference
for container types that makes it easier to generate snippets + autogenerated type examples by @dsinghvi in (feat):ir
now adds aTypeReference
for container types that makes it easier to generate snippets + autogenerated type examples fern-api/fern#4038ir-sdk-latest
generators.yml
by @dcb6 in (fix): fixir-sdk-latest
generators.yml
fern-api/fern#4074Full Changelog: fern-api/fern@0.32.0...0.33.0
0.32.0
chore:
## What's ChangedFull Changelog: fern-api/fern@0.31.24...0.32.0
0.31.25-rc1
chore:
## What's ChangedFull Changelog: fern-api/fern@0.31.25-rc0...0.31.25-rc1
0.31.25-rc0
chore:
## What's ChangedFull Changelog: fern-api/fern@0.31.24...0.31.25-rc0
0.31.24
chore:
Release 0.31.240.31.23
chore:
## What's ChangedFetcher
and add unit tests by @williamluer in (feat, typescript): refactorFetcher
and add unit tests fern-api/fern#3977New Contributors
Full Changelog: fern-api/fern@0.31.22...0.31.23
0.31.23-rc0
chore:
## What's Changedir
now adds aTypeReference
for container types that makes it easier to generate snippets + autogenerated type examples fern-api/fern#4038Full Changelog: fern-api/fern@0.31.22...0.31.23-rc0
0.31.22
chore:
## What's Changedzurg
completely synchronous by @dsinghvi in (feat, typescript): makezurg
completely synchronous fern-api/fern#4024set
name for python methods by @armandobelardo in fix: unreserveset
name for python methods fern-api/fern#4031Full Changelog: fern-api/fern@0.31.21...0.31.22